import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

public class MajorityElement {

    public static int answer(int[] nums) {
        Arrays.sort(nums);
        int n = nums.length;
        int res=1;
        for (int i = 0; i < n -1; i++) {
            if(nums[i]==nums[i+1]){
                res++;
            }else {
                res=1;
            }
            if(res>n/2){
                return nums[i];
            }
        }
        return nums[0];
    }

    public static int answer2(int[] nums) {
        Map<Integer,Integer> tempMap=new HashMap<>();
        int n = nums.length;
        for (int i = 0; i < n; i++) {
            Integer tempInt = tempMap.getOrDefault(nums[i], 0);
            tempInt++;
            tempMap.put(nums[i],tempInt);
            if(tempInt>n/2){
                return nums[i];
            }
        }
        return nums[0];
    }

    public static void main(String[] args) {
        int[] nums=new int[]{2,2,1,1,1,2,2};
        System.out.println(answer(nums));
    }
}
